package com.wx.app.dao;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;

public class DaoHelper {

    private static DaoHelper instances = null;
    private SQLiteDatabase db;
    private DaoMaster daoMaster;
    private DaoSession daoSession;

    private DaoHelper() {
    }

    public static DaoHelper getInstance() {
        if (instances == null) {
            instances = new DaoHelper();
        }
        return instances;
    }

    public void setupDatabase(Context context) {
        // 注意：默认的 DaoMaster.DevOpenHelper 会在数据库升级时，删除所有的表，意味着这将导致数据的丢失。
        // 所以，在正式的项目中，你还应该做一层封装，来实现数据库的安全升级。
        DaoMaster.DevOpenHelper helper = new DaoMaster.DevOpenHelper(context, "notes-db", null);
        db = helper.getWritableDatabase();
        // 注意：该数据库连接属于 DaoMaster，所以多个 Session 指的是相同的数据库连接。
        daoMaster = new DaoMaster(db);
        daoSession = daoMaster.newSession();
    }

    public NoteDao getNoteDao() {
        return daoSession.getNoteDao();
    }


}
